Platform Explorer / Nuxeo Platform LTS 2017 9.10

Contribution org.nuxeo.ecm.platform.search.default.pageproviders--providers

This contribution is part of XML component org.nuxeo.ecm.platform.search.default.pageproviders inside nuxeo-search-core-9.10.jar /OSGI-INF/search-pageprovider-contrib.xml

Extension Point

Extension point providers of component PageProviderService.

Contributed Items

  • <coreQueryPageProvider name="default_search">
          <trackUsage>true</trackUsage>
          <whereClause docType="DefaultSearch">
            <fixedPart>
              ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites')
              AND ecm:mixinType != 'HiddenInNavigation'
              AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited')
              AND ecm:isCheckedInVersion = 0
              AND ecm:currentLifeCycleState != 'deleted'
              AND ecm:parentId IS NOT NULL
              AND SORTED_COLUMN IS NOT NULL
            </fixedPart>
            <predicate operator="FULLTEXT" parameter="ecm:fulltext">
              <field name="ecm_fulltext" schema="default_search"/>
            </predicate>
            <predicate operator="IN" parameter="dc:creator">
              <field name="dc_creator" schema="default_search"/>
            </predicate>
            <predicate operator="BETWEEN" parameter="dc:created">
              <field name="dc_created_min" schema="default_search"/>
              <field name="dc_created_max" schema="default_search"/>
            </predicate>
            <predicate operator="BETWEEN" parameter="dc:modified">
              <field name="dc_modified_min" schema="default_search"/>
              <field name="dc_modified_max" schema="default_search"/>
            </predicate>
            <predicate operator="IN" parameter="dc:nature">
              <field name="dc_nature" schema="default_search"/>
            </predicate>
            <predicate operator="STARTSWITH" parameter="dc:subjects">
              <field name="dc_subjects" schema="default_search"/>
            </predicate>
            <predicate operator="STARTSWITH" parameter="dc:coverage">
              <field name="dc_coverage" schema="default_search"/>
            </predicate>
            <predicate operator="STARTSWITH" parameter="ecm:path">
              <field name="ecm_path" schema="default_search"/>
            </predicate>
            <predicate operator="IN" parameter="ecm:tag">
              <field name="ecm_tags" schema="default_search"/>
            </predicate>
            <predicate operator="IN" parameter="collectionMember:collectionIds">
              <field name="ecm_collections" schema="default_search"/>
            </predicate>
          </whereClause>
          <aggregates>
            <aggregate id="dc_nature_agg" parameter="dc:nature" type="terms">
              <field name="dc_nature_agg" schema="default_search"/>
              <properties>
                <property name="size">10</property>
              </properties>
            </aggregate>
            <aggregate id="dc_subjects_agg" parameter="dc:subjects" type="terms">
              <field name="dc_subjects_agg" schema="default_search"/>
              <properties>
                <property name="size">10</property>
              </properties>
            </aggregate>
            <aggregate id="dc_coverage_agg" parameter="dc:coverage" type="terms">
              <field name="dc_coverage_agg" schema="default_search"/>
              <properties>
                <property name="size">10</property>
              </properties>
            </aggregate>
            <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms">
              <field name="dc_creator_agg" schema="default_search"/>
              <properties>
                <property name="size">10</property>
              </properties>
            </aggregate>
            <aggregate id="common_size_agg" parameter="file:content.length" type="range">
              <field name="common_size_agg" schema="default_search"/>
              <ranges>
                <range key="tiny" to="102400"/>
                <range from="102401" key="small" to="1048576"/>
                <range from="1048577" key="medium" to="10485760"/>
                <range from="10485761" key="big" to="104857600"/>
                <range from="104857601" key="huge"/>
              </ranges>
            </aggregate>
            <aggregate id="dc_created_agg" parameter="dc:created" type="date_histogram">
              <field name="dc_created_agg" schema="default_search"/>
              <properties>
                <property name="interval">month</property>
                <property name="format">MM-yyyy</property>
                <property name="order">key desc</property>
              </properties>
            </aggregate>
            <aggregate id="dc_modified_agg" parameter="dc:modified" type="date_range">
              <field name="dc_modified_agg" schema="default_search"/>
              <properties>
                <property name="format">"dd-MM-yyyy"</property>
              </properties>
              <dateRanges>
                <dateRange fromDate="now-24H" key="last24h" toDate="now"/>
                <dateRange fromDate="now-7d" key="lastWeek" toDate="now-24H"/>
                <dateRange fromDate="now-1M" key="lastMonth" toDate="now-7d"/>
                <dateRange fromDate="now-1y" key="lastYear" toDate="now-1M"/>
                <dateRange key="priorToLastYear" toDate="now-1y"/>
              </dateRanges>
            </aggregate>
          </aggregates>
          <quickFilters>
            <quickFilter name="noFolder">
              <clause>ecm:mixinType != 'Folderish'</clause>
            </quickFilter>
            <quickFilter name="mostRecent">
              <sort ascending="false" column="dc:modified"/>
            </quickFilter>
            <quickFilter name="onlyValidated">
              <clause>ecm:currentLifeCycleState = 'approved'</clause>
              <sort ascending="false" column="dc:modified"/>
            </quickFilter>
          </quickFilters>
          <pageSize>20</pageSize>
        </coreQueryPageProvider>
  • <coreQueryPageProvider name="simple_search">
          <trackUsage>true</trackUsage>
          <whereClause docType="DefaultSearch">
            <fixedPart>
              ecm:mixinType != 'HiddenInNavigation' AND
              ecm:isCheckedInVersion = 0
              AND ecm:currentLifeCycleState != 'deleted'
              AND ecm:parentId IS NOT NULL
              AND SORTED_COLUMN IS NOT NULL
            </fixedPart>
            <predicate operator="FULLTEXT" parameter="ecm:fulltext">
              <field name="ecm_fulltext" schema="default_search"/>
            </predicate>
          </whereClause>
          <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
          <pageSize>20</pageSize>
        </coreQueryPageProvider>
  • <coreQueryPageProvider name="nxql_search">
          <trackUsage>true</trackUsage>
          <searchDocumentType>DefaultSearch</searchDocumentType>
          <pattern escapeParameters="false" quoteParameters="false">?</pattern>
          <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
          <pageSize>20</pageSize>
        </coreQueryPageProvider>
  • <coreQueryPageProvider class="org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider" name="expired_search">
          <trackUsage>true</trackUsage>
          <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
          <whereClause docType="ExpiredSearch">
            <fixedPart>
              ecm:isCheckedInVersion = 0 AND
              ecm:mixinType !=
              'HiddenInNavigation' AND ecm:currentLifeCycleState
              != 'deleted'
            </fixedPart>
            <predicate operator="FULLTEXT" parameter="dc:title">
              <field name="title" schema="expired_search"/>
            </predicate>
            <predicate operator="&lt;" parameter="dc:expired">
              <field name="expired_max" schema="expired_search"/>
            </predicate>
            <predicate operator="&gt;" parameter="dc:expired">
              <field name="expired_min" schema="expired_search"/>
            </predicate>
          </whereClause>
          <aggregates>
            <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms">
              <field name="dc_creator_agg" schema="expired_search"/>
              <properties>
                <property name="size">10</property>
              </properties>
            </aggregate>
            <aggregate id="dc_expired_agg" parameter="dc:expired" type="date_histogram">
              <field name="dc_expired_agg" schema="expired_search"/>
              <properties>
                <property name="interval">month</property>
                <property name="format">MM-yyyy</property>
                <property name="order">key asc</property>
              </properties>
            </aggregate>
          </aggregates>
          <sort ascending="true" column="dc:expired"/>
          <pageSize>20</pageSize>
          <quickFilters>
            <quickFilter name="approved">
              <clause>ecm:currentLifeCycleState = 'approved'</clause>
            </quickFilter>
          </quickFilters>
        </coreQueryPageProvider>

XML Source

<extension point="providers" target="org.nuxeo.ecm.platform.query.api.PageProviderService">

    <coreQueryPageProvider name="default_search">
      <trackUsage>true</trackUsage>
      <whereClause docType="DefaultSearch">
        <fixedPart>
          ecm:primaryType NOT IN ('Domain', 'SectionRoot', 'TemplateRoot', 'WorkspaceRoot', 'Favorites')
          AND ecm:mixinType != 'HiddenInNavigation'
          AND NOT (ecm:mixinType = 'Collection' AND ecm:name = 'Locally Edited')
          AND ecm:isCheckedInVersion = 0
          AND ecm:currentLifeCycleState != 'deleted'
          AND ecm:parentId IS NOT NULL
          AND SORTED_COLUMN IS NOT NULL
        </fixedPart>
        <predicate operator="FULLTEXT" parameter="ecm:fulltext">
          <field name="ecm_fulltext" schema="default_search"/>
        </predicate>
        <predicate operator="IN" parameter="dc:creator">
          <field name="dc_creator" schema="default_search"/>
        </predicate>
        <predicate operator="BETWEEN" parameter="dc:created">
          <field name="dc_created_min" schema="default_search"/>
          <field name="dc_created_max" schema="default_search"/>
        </predicate>
        <predicate operator="BETWEEN" parameter="dc:modified">
          <field name="dc_modified_min" schema="default_search"/>
          <field name="dc_modified_max" schema="default_search"/>
        </predicate>
        <predicate operator="IN" parameter="dc:nature">
          <field name="dc_nature" schema="default_search"/>
        </predicate>
        <predicate operator="STARTSWITH" parameter="dc:subjects">
          <field name="dc_subjects" schema="default_search"/>
        </predicate>
        <predicate operator="STARTSWITH" parameter="dc:coverage">
          <field name="dc_coverage" schema="default_search"/>
        </predicate>
        <predicate operator="STARTSWITH" parameter="ecm:path">
          <field name="ecm_path" schema="default_search"/>
        </predicate>
        <predicate operator="IN" parameter="ecm:tag">
          <field name="ecm_tags" schema="default_search"/>
        </predicate>
        <predicate operator="IN" parameter="collectionMember:collectionIds">
          <field name="ecm_collections" schema="default_search"/>
        </predicate>
      </whereClause>
      <aggregates>
        <aggregate id="dc_nature_agg" parameter="dc:nature" type="terms">
          <field name="dc_nature_agg" schema="default_search"/>
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_subjects_agg" parameter="dc:subjects" type="terms">
          <field name="dc_subjects_agg" schema="default_search"/>
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_coverage_agg" parameter="dc:coverage" type="terms">
          <field name="dc_coverage_agg" schema="default_search"/>
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms">
          <field name="dc_creator_agg" schema="default_search"/>
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="common_size_agg" parameter="file:content.length" type="range">
          <field name="common_size_agg" schema="default_search"/>
          <ranges>
            <range key="tiny" to="102400"/>
            <range from="102401" key="small" to="1048576"/>
            <range from="1048577" key="medium" to="10485760"/>
            <range from="10485761" key="big" to="104857600"/>
            <range from="104857601" key="huge"/>
          </ranges>
        </aggregate>
        <aggregate id="dc_created_agg" parameter="dc:created" type="date_histogram">
          <field name="dc_created_agg" schema="default_search"/>
          <properties>
            <property name="interval">month</property>
            <property name="format">MM-yyyy</property>
            <property name="order">key desc</property>
          </properties>
        </aggregate>
        <aggregate id="dc_modified_agg" parameter="dc:modified" type="date_range">
          <field name="dc_modified_agg" schema="default_search"/>
          <properties>
            <property name="format">"dd-MM-yyyy"</property>
          </properties>
          <dateRanges>
            <dateRange fromDate="now-24H" key="last24h" toDate="now"/>
            <dateRange fromDate="now-7d" key="lastWeek" toDate="now-24H"/>
            <dateRange fromDate="now-1M" key="lastMonth" toDate="now-7d"/>
            <dateRange fromDate="now-1y" key="lastYear" toDate="now-1M"/>
            <dateRange key="priorToLastYear" toDate="now-1y"/>
          </dateRanges>
        </aggregate>
      </aggregates>
      <quickFilters>
        <quickFilter name="noFolder">
          <clause>ecm:mixinType != 'Folderish'</clause>
        </quickFilter>
        <quickFilter name="mostRecent">
          <sort ascending="false" column="dc:modified"/>
        </quickFilter>
        <quickFilter name="onlyValidated">
          <clause>ecm:currentLifeCycleState = 'approved'</clause>
          <sort ascending="false" column="dc:modified"/>
        </quickFilter>
      </quickFilters>
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="simple_search">
      <trackUsage>true</trackUsage>
      <whereClause docType="DefaultSearch">
        <fixedPart>
          ecm:mixinType != 'HiddenInNavigation' AND
          ecm:isCheckedInVersion = 0
          AND ecm:currentLifeCycleState != 'deleted'
          AND ecm:parentId IS NOT NULL
          AND SORTED_COLUMN IS NOT NULL
        </fixedPart>
        <predicate operator="FULLTEXT" parameter="ecm:fulltext">
          <field name="ecm_fulltext" schema="default_search"/>
        </predicate>
      </whereClause>
      <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider name="nxql_search">
      <trackUsage>true</trackUsage>
      <searchDocumentType>DefaultSearch</searchDocumentType>
      <pattern escapeParameters="false" quoteParameters="false">?</pattern>
      <!-- sort column="dc:title" ascending="true" / sort by fulltext relevance -->
      <pageSize>20</pageSize>
    </coreQueryPageProvider>

    <coreQueryPageProvider class="org.nuxeo.elasticsearch.provider.ElasticSearchNxqlPageProvider" name="expired_search">
      <trackUsage>true</trackUsage>
      <property name="maxResults">DEFAULT_NAVIGATION_RESULTS</property>
      <whereClause docType="ExpiredSearch">
        <fixedPart>
          ecm:isCheckedInVersion = 0 AND
          ecm:mixinType !=
          'HiddenInNavigation' AND ecm:currentLifeCycleState
          != 'deleted'
        </fixedPart>
        <predicate operator="FULLTEXT" parameter="dc:title">
          <field name="title" schema="expired_search"/>
        </predicate>
        <predicate operator="&lt;" parameter="dc:expired">
          <field name="expired_max" schema="expired_search"/>
        </predicate>
        <predicate operator=">" parameter="dc:expired">
          <field name="expired_min" schema="expired_search"/>
        </predicate>
      </whereClause>
      <aggregates>
        <aggregate id="dc_creator_agg" parameter="dc:creator" type="terms">
          <field name="dc_creator_agg" schema="expired_search"/>
          <properties>
            <property name="size">10</property>
          </properties>
        </aggregate>
        <aggregate id="dc_expired_agg" parameter="dc:expired" type="date_histogram">
          <field name="dc_expired_agg" schema="expired_search"/>
          <properties>
            <property name="interval">month</property>
            <property name="format">MM-yyyy</property>
            <property name="order">key asc</property>
          </properties>
        </aggregate>
      </aggregates>
      <sort ascending="true" column="dc:expired"/>
      <pageSize>20</pageSize>
      <quickFilters>
        <quickFilter name="approved">
          <clause>ecm:currentLifeCycleState = 'approved'</clause>
        </quickFilter>
      </quickFilters>
    </coreQueryPageProvider>

  </extension>